// submit()：提交表单
// document.getElementById("myForm").submit();

let checkUsernameResult = 1;

// 定义一个正确图片的HTML代码。
let rightImg = '<img src="img/gou.png" height="32" width="31" style="vertical-align: middle"/>';

/**
 * 对表单的一些参数校验
 * @returns {boolean}
 */
function checkForm() {
    // ------用户名校验：--------
    let username = $("#username").val();
    if (username == "") {
        /*alert("用户名不能为空");*/
        $("#usernameSpan").text("用户名不能为空");
        return false;
    }  else {
        $("#usernameSpan").html(rightImg);
    }

    if(checkUsernameResult == 0) {
        $("#usernameSpan").text("用户名不可以使用!");
        return false;
    }

    /**
     *  校验密码：
     *  1.密码的长度必须在3~8之间。
     *  2.只允许：数字、字母、下划线 _
     */
    let pwd = $("#pwd").val();
    if (pwd == "") {
        $("#passwordSpan").text("密码不能为空");
        return false;
    }
    // ------密码校验：--------
    let pwdLen = pwd.length;
    if (3 > pwdLen || pwdLen>8){
        $("#passwordSpan").text("长度必须在3~8之间");
        return false;
    } else {
        $("#passwordSpan").html(rightImg);
    }

    /**
     * JS正则表达式：
     * \w  : [0-9A-Za-z_]
     */
    let pwdReg = /^\w+$/i;
    if (!pwdReg.test(pwd)) {
        $("#passwordSpan").text("密码中只能包含数字、字母或下划线");
        return false;
    } else {

    }

    // ------手机号校验：-------- 1开头，数字，必须共11位。
    let phoneElement = $("#phone");
    let phone = phoneElement.val();
    let phoneReg = /^[1][0-9]{10}$/;
    let phoneSpanEle = phoneElement.next("span");// 获取下一个同层次的元素节点。
    /*console.log(phoneSpanEle);*/
    if(phoneReg.test(phone)) {
        console.log("---phone verify ok 1");
        phoneSpanEle.html(rightImg);
    } else {
        console.log("2");
        phoneSpanEle.text("手机号不合法！");
        return false;
    }
    return true;
}

/**
 *校验用户名是否重复
 */
function checkUsername(){
    /*alert('离开了用户名文本框！')*/
    let username = $("#username").val();
    $.ajax({
        url:"/checkUsername.action",
        async:false, // 同步请求
        cache:false, // 每次发送请求时，加一个时间戳。
        data: {
            "username":username
        },
        success :function (data) {
            if (data == "1") {
                $("#usernameSpan").html(rightImg);
                checkUsernameResult = 1;
            } else {
                $("#usernameSpan").text("用户名不可以使用!");
                checkUsernameResult = 0;
            }
        }
    });

}

//点击"换一张"，重新生成验证码。
function generateImg() {
    let t = new Date().getTime();
    console.log("------重新生成验证码:t="+t);
    $("#codeImg").attr("src","/generateVerifyCodeImage.action?t="+t);
}

$(function(){
    /*设置：导航菜单中的"用户登录"菜单的选中样式*/
    $("#header").load("/header.html",function(data){
        $("ul li:eq(2)").css("background-color", "orange");
    });


    /*用户注册表单的异步提交*/
    $("#myForm").ajaxForm({
            resetForm: false,
            clearForm:false,
            /*headers:{
                "Content-Type":"application/json"
            },*/
            //定义返回JSON数据，还包括xml和script格式
            dataType: 'json',
//         在发送之前进行的操作，如果有问题，返回false即可不会进行提交
            beforeSend: function () {
            //表单提交前做表单验证
                return checkForm();
            },
            success: function(data) {
                console.log("----------注册成功！");
                //提交成功后调用
                console.log(data);
                /*window.location.reload();*/
                if (data.verifyCode == "-1") {
                    /*alert("验证码出错");*/
                    $("#codeImg").siblings("span").text("验证码出错");
                    $("#code").css("border","1px solid red");
                    $("#code").focus();
                    return ;
                } else {
                    $("#codeImg").siblings("span").text("");
                    location.href = "/login.html";
                }
            }, error : function(e) {
            console.log("--------注册失败:" + e);
        }
    });


});